package cn.skylark.wcm.service;

import cn.skylark.wcm.entity.Filetable;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface RecycleService {
    /**
     * 分页查询用户已删除的文件
     *
     * @param filetable
     * @param start
     * @param length
     * @return
     */
    PageInfo<Filetable> selectByPage(Filetable filetable, String searchValue, String flag, int start, int length);

    /**
     * 逻辑恢复文件及文件夹
     *
     * @param filetable
     */
    void recoveryFile(Filetable filetable);

    /**
     * 通过id来获取filetable对象
     *
     * @param filetable
     * @return
     */
    Filetable getFiletable(Filetable filetable);

    /**
     * 表数据删除方法
     *
     * @param id
     */
    void del(Integer id);

    /**
     * 彻底删除文件
     *
     * @param filetable
     */
    void deleteFileThorough(Filetable filetable);

    /**
     * 清空回收站
     *
     * @param filetable
     * @param flag
     */
    void emptyRecycle(Filetable filetable, String flag);

    /**
     * 替换之前数据
     *
     * @param filetable
     * @param filetableList
     */
    void replaceFile(Filetable filetable, List<Filetable> filetableList);

    /**
     * 获取重复文件
     *
     * @param filetable
     * @return
     */
    List<Filetable> getRepeatFile(Filetable filetable);

    /**
     * 置换数据
     *
     * @param filetable
     * @return
     */
    Filetable ChangeValue(Filetable filetable);

    /**
     * 创建文件夹
     *
     * @param filetable
     */
    void createFolder(Filetable filetable);
}
